package cn.kingshion.reflectiong;

public class Test04 {
    static {
        System.out.println("Main 类被加载！");
    }

    public static void main(String[] args) throws ClassNotFoundException {
        // 1. 主动引用。
        //Son son = new Son();

        // 2. 反射也是主动引用
        //Class son = Class.forName("cn.kingshion.reflectiong.Son");

        //不会产生类的引用的方法 (调用了父类的静态变量，所以子类不会被初始化但是父类会被加载。)
        //System.out.println(Son.f);

        // 不会产生类的引用
        //Son[] sons = new Son[10];

        // 不会产生类的引用
        //System.out.println(Son.M);
    }
}

class Father {
    static int f = 2;
    static {
        System.out.println("父类被加载！");
    }
}

class Son extends Father {
    static {
        System.out.println("子类被加载！");
        s = 100;
    }
    static final int M = 10;
    static int s = 5;
}
